﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SoftwareConsulting.BI11.Controls.Ribbon
{
    /// <summary>
    /// Виды отлавливателей
    /// </summary>
    public enum RibbonCatcherKind
    {
        None = 0,
        Mouse = 1,
        Keyboard = 2
    }

    /// <summary>
    /// Режим расположения риббона в окне
    /// </summary>
    public enum RibbonFrameMode
    {
        None = 0,
        InsideFrame = 1,
        NonClientAreaCustomDraw = 2,
        NonClientAreaTransparent = 3
    }

    /// <summary>
    /// Причины убийства контекстных меню
    /// </summary>
    public enum PopupKillReason
    {
        None = 0,
        ItemClicked = 1,
        ApplicationClicked = 2,
        NewPopup = 3,
        ApplicationFocusChanged = 4,
        EscapePressed = 5
    }

    /// <summary>
    /// Стиль кнопки риббона
    /// </summary>
    public enum RibbonButtonStyle
    {   
        None = 0,
        Normal = 1,
        DropDown = 2,
        SplitDropDown = 3
    }

    /// <summary>
    /// Режимы размеров элемента риббона
    /// </summary>    
    public enum RibbonItemSizeMode
    {
        None = 0,
        Compressed = 1,
        Small = 2,
        Medium = 3,
        Large = 4,        
        DropDown = 5   
    }

    /// <summary>
    /// Тип скролла в списке кнопок
    /// </summary>
    public enum ButtonListScrollType
    {
        None = 0,
        UpDownButtons = 1,
        Scrollbar = 2
    }

    /// <summary>
    /// Вид кнопки заголовка
    /// </summary>
    public enum CaptionButtonKind
    {
        None = 0,
        Minimize = 1,
        Maximize = 2,
        Restore = 3,
        Close = 4
    }

    /// <summary>
    /// Измененные остояния элемента риббона
    /// </summary>    
    [Flags]
    public enum RibbonItemChangedStates
    {
        None = 0,        
        Active = 1,
        Selected = 2,
        Pressed = 4,
        Disabled = 8,
        Checked = 16
    }

    /// <summary>
    /// Результат проверки клика по неклиентской области формы
    /// </summary> 
    /// <remarks>НЕ МЕНЯТЬ ЗНАЧЕНИЯ!!! ОНИ НА СИСТЕМНОМ УРОВНЕ ТАКИЕ</remarks>
    public enum NonClientHitTestResult
    {
        None = 0,
        Client = 1,
        Caption = 2,
        GrowBox = 4,
        MinimizeButton = 8,
        MaximizeButton = 9,
        Left = 10,
        Right = 11,
        Top = 12,
        TopLeft = 13,
        TopRight = 14,
        Bottom = 15,
        BottomLeft = 16,
        BottomRight = 17
    } 
}